A recommendation system attempts to present a user with items most likely to match a user's tastes. A common recommendation system uses collaborative filtering to recommend content to a user. For example, given a list of past items, a recommendation system may be configured to determine which items are similar to previous items in the list. A data-driven system will typically represent each item as a set of feature values (e.g., meta data), and call two items similar when they are “close” to each other under some measure dependent on the features.
For example, a movie recommendation system might represent a given movie by its list of actors, its director, and its genre. Two movies may be considered similar when several of these values overlap. The simplest type of collaborative filtering system treats users as features of an item; thus, two items are similar when many of the same users have chosen both items. In another example of a recommendation system using collaborative filtering, some shopping websites may suggest additional purchases to a user purchasing an item based on what other users who purchased the same item also purchased (regardless of whether those other users have any other interests in common with the current user). Thus, in collaborative filtering, auto-generated messages such as “Shoppers who purchased that item also purchased this” are not based on or triggered by the user's past personal purchasing history or preferences. Rather, the suggested item “also purchased this” is one that many other users have purchased in combination with the first item (“that item”). Moreover, those “other” users that are the basis of the recommendation may not have any of the same interests or objectives as the user.